#pragma once
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int LTDataType;

typedef struct ListNode
{
	LTDataType val;
	struct ListNode* next;
	struct ListNode* prev;
}ListNode;

ListNode* init(void);
ListNode* creatnode(LTDataType x);
void pushback(ListNode* head, LTDataType a);
void print(ListNode* head);
void popback(ListNode* head);
void pushfront(ListNode* head, LTDataType x);
void popfront(ListNode* head);
ListNode* find(ListNode* head, LTDataType x);
void insertpos(ListNode* pos, LTDataType x);
void erasepos(ListNode* pos);
void eraselist(ListNode* head);
void destory(ListNode* head);